package com.jic.order.rest.response;

import com.jic.order.rest.request.UserRequest;
import com.jic.product.rest.response.ProductPropertyResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author: gaolanyu
 * @date: 2020-01-21
 * @remark:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CartSettleResponse extends UserRequest {
    @ApiModelProperty(notes = "购物车Id")
    private String shoppingCartId;
    @ApiModelProperty(notes = "结算虚拟单号")
    private String settleNum;

    @ApiModelProperty(notes = "销售总金额")
    private BigDecimal saleTotalAmount;
    @ApiModelProperty(notes = "购买总金额，合计")
    private BigDecimal buyTotalAmount;
    @ApiModelProperty(notes = "优惠总金额")
    private BigDecimal discountTotalAmount;
    @ApiModelProperty(notes = "优惠券优惠总金额")
    private BigDecimal couponTotalAmount;
    @ApiModelProperty(notes = "物流费用")
    private BigDecimal logisticsAmount;

    //收货人省id
    @ApiModelProperty(notes = "收货人省id")
    private long receiverProvinceId;
    //收货人省名称
    @ApiModelProperty(notes = "收货人省名称")
    private String receiverProvinceName;
    //收货人市id
    @ApiModelProperty(notes = "收货人市id")
    private long receiverCityId;
    //收货人市名称
    @ApiModelProperty(notes = "收货人市名称")
    private String receiverCityName;
    //收货人区/县id
    @ApiModelProperty(notes = "收货人区/县id")
    private long receiverCountryId;
    //收货人区/县名称
    @ApiModelProperty(notes = "收货人区/县名称")
    private String receiverRegionName;
    //收货人名字
    @ApiModelProperty(notes = "收货人名字")
    private String receiverName;
    //收货人电话
    @ApiModelProperty(notes = "收货人电话")
    private String receiverPhone;
    //收货人详细地址
    @ApiModelProperty(notes = "收货人详细地址")
    private String receiverAddress;

    @ApiModelProperty(notes = "要结算的购物车子信息")
    private List<ShoppingCartSubInfo> shoppingCartSubInfoList;

    @ApiModelProperty(notes = "库存不足的商品id")
    private List<String> goodIds;

    @ApiModelProperty(notes = "当前选中商品属性规格信息")
    private List<ProductPropertyResponse> productPropertyResponses;
}
